[ELK] 如何備份 Elastic Cloud 的 Snapshot 至 AWS S3

前言

Elastic Cloud 提供快照 (Snapshot) 機制來備份 Cluster 的資料,我們可以將其連接至 AWS S3 上進行保存。

本文將示範如何將 Elastic Cloud Snapshot 存放至 AWS S3 服務,並設置 Policy 進行定期備份工作。

流程大綱

  • AWS IAM 設置
  • AWS S3 Bucket 設置
  • Elastic Cloud Credential 設置
  • Elastic Cloud Repositories 和 Policy 設置

實作

AWS IAM 設置

建立 User

  • 進入 AWS Console 的 IAM 服務頁面
  • 點擊左方欄位的 User,找到上方的 Add User 按鈕建立專門操作 S3 的 User
  • 建立成功後會產生憑證資訊,點擊 Download .csv 下載至自己電腦

建立 Policy

  • 點擊左方欄位的 Policies,找到上方的 Add Policy 按鈕建立專門操作 S3 的 Policy
  • 貼下下方 JSON 格式的資料,定義好 Policy
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Effect": "Allow",
    "Action": "s3:ListAllMyBuckets",
    "Resource": "arn:aws:s3:::*"
    },
    {
    "Effect": "Allow",
    "Action": "s3:*",
    "Resource": [
    "arn:aws:s3:::elastic-cloud-snapshot-demo",
    "arn:aws:s3:::elastic-cloud-snapshot-demo/*"
    ]
    }
    ]
    }
    其中,本文以 elastic-cloud-snapshot-demo 為要存放 Snapshot 的 S3 Bucket Name,可自行替換成自訂的名稱。
  • 自訂 Policy Name 後點擊 Create Policy 完成建立
  • 將目標 Policy Attach 至新建立的 User
  • 選擇 Attach
  • 搜尋並選擇剛才新建的 User

AWS S3 Bucket 設置

  • 建立 S3 Bucket,自訂 Bucket 名稱,本文範例為 elastic-cloud-snapshot-demo,可自行替換成自訂的名稱。

Elastic Cloud Credential 設置

  • 進入 Elastic Cloud 後台管理介面,選擇要備份至 S3 的 Cluster → 左方列表中的 Security → 點擊右下 Elasticsearch Keystore 的 Add settings 按鈕
  • 添加剛才於 AWS IAM 服務中新建 User 時所載的憑證資訊,裡面會包含 Access Key 和 Secret Key, 需要將這些資訊填入 KeyStore 中。
  • 兩者皆填入後查看一下是否有顯示於畫面中

Elastic Cloud Repositories 和 Policy 設置

  • 於 Elastic Cloud 中設置 Registries
  • 自訂 Repository 名稱 → 選擇 S3 → 點擊 Next
  • 填入 Client 名稱 (本文為 default) → 輸入目標的 S3 Bucket 名稱 (本文為 elastic-cloud-snapshot-demo),其餘參數可依自身需求做調整,設定完點擊 Register 按鈕完成建立。
  • 建立成功後選擇剛剛建好的 Repository,可點擊下方的 Verify repository 檢驗是否成功連結
  • 若成功連結會出現下圖的圖示
  • 對該 Repository 新增對應的 Policy
  • 輸入自訂的 Policy Name (本文為 elastic-cloud-cluster-backup) → 輸入自訂的 Snapshot Name (本文為 <cluster-daily-snap-{now/d}> ) → 選擇目標 Repository → 設置 Schedule 排定備份的頻率
  • 選擇備份來源 Index (也可以點擊上方按鈕開啟 all data 做 全選)
  • 最後確認一下設置的 Policy 資訊
  • 設置成功後可以回 Snapshot 頁面查看是否有存在依剛剛規則所建好的 Snapshot 囉!
  • 回到 S3 Bucket 查看資料是否有成功備份

以上為備份 Elastic Cloud Snapshot 至 AWS S3 服務的整套流程。

相關參考文件

Comments